home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARMCLUB / EUREKA / EUREKA24 / ArcWeb192 / ReadMeDocs / JPEG_Fix < prev    next >
Text File  |  1997-08-15  |  3KB  |  87 lines

  1.  
  2. JPEG_Fix
  3. ========
  4.  
  5. This file documents how to make changes to ChangeFSI so that it can
  6. recognise and handle "progressive JPEG" images.  The instructions are
  7. adapted from my posting on comp.sys.acorn.apps & comp.sys.acorn.misc
  8. in the middle of October 1996.
  9.  
  10. Contents:
  11.     Patching ChangeFSI
  12.     Installing the new JPEG software
  13.     And Finally ...
  14.     Technical Notes
  15.  
  16.  
  17. Patching ChangeFSI
  18. ==================
  19.  
  20. Making sure you start with version 1.15 (although it may work for other
  21. versions too), load !ChangeFSI.ChangeFSI into your favourite BASIC editor
  22. (keeping a backup copy!) and make the following changes:
  23.  
  24. Find the line which says the following (If you search for the string
  25. "JFIF" it's a couple of lines below it)
  26. IFcache%<EXT#c% THEN
  27.  
  28. Change this to say:
  29. IFcache%<EXT#c% OR ASCMID$(S$,12,1)>1 OR FNsnb_needdjpeg(c%) THEN
  30.  
  31. (DON'T have any trailing spaces on the line or it won't work!)
  32.  
  33. Add at the end of the program:
  34.  
  35. DEFFNsnb_next(c%)
  36. LOCALv%:WHILEBGET#c%<>255 AND NOTEOF#c%:ENDWHILE:IFEOF#c%:=&100
  37. REPEAT:v%=BGET#c%:UNTILEOF#c% OR v%<>255:IF EOF#c%:v%=256
  38. =v%
  39. DEFPROCsnb_skip(c%)
  40. LOCALv%,w%:v%=PTR#c%:w%=BGET#c%:w%=(w%*256+BGET#c%)
  41. PTR#c%=v%+w%:ENDPROC
  42. DEFFNsnb_needdjpeg(c%)
  43. LOCALsz%:REM Not Acorn code - added. Assumes file is JPEG!
  44. PTR#c%=2:REPEAT:sz%=FNsnb_next(c%):IFsz%=&C0 OR sz%>255:=FALSE
  45. IFsz%>&C0 ANDsz%<&D0 ANDsz%<>&C4 ANDsz%<>&CC:=TRUE:REM M_SOFn
  46. IFsz%>&E0 AND sz%<&F0:=TRUE: REM M_APPn
  47. PROCsnb_skip(c%):UNTILEOF#c%:=FALSE
  48.  
  49. Save this, keeping a backup of the original.  That completes the
  50. changes to the ChangeFSI program itself.  Now you need to install
  51. the new JPEG software.
  52.  
  53.  
  54. Installing the new JPEG software
  55. ================================
  56.  
  57. Open the "djpeg" directory which was in the root of the ArcWeb archive
  58. and copy the djpeg program that you find inside to somewhere on Run$Path
  59. so that ChangeFSI can see it.  (You may choose to copy it into the
  60. !ChangeFSI directory itself (or !ChangeFSI.djpeg directory)
  61.  
  62.  
  63. And Finally ...
  64. ===============
  65.  
  66. That should do it - it now works for me.  The following text is a
  67. description of how it works and reading & understanding of it is not
  68. necessary :-)
  69.  
  70.  
  71. Technical Notes
  72. ===============
  73.  
  74. This change allows ChangeFSI to spot non-baseline JPEGs and farms that out
  75. to djpeg.  Note that even djpeg doesn't handle some of the arithmetic
  76. encodings, but it does allow it to handle images that it otherwise can't.
  77. Note that all my new functions are prefixed "snb_" to avoid name clashes.
  78. Non-JFIF files are trapped here too since anything with a filetype of &C85
  79. is accepted as JPEG. If ChangeFSI is ever extended to supported more SOFn
  80. markers, then these can simply be trapped within the REPEAT loop and
  81. return FALSE for those SOFn types.
  82.  
  83.  
  84. -- 
  85. Stewart Brodie
  86. 17th October 1996
  87.